package com.xiaochang.em.service;

import com.xiaochang.em.constants.Constants;
import com.xiaochang.em.entity.Star;
import com.xiaochang.em.entity.dto.StarDTO;
import com.xiaochang.em.exception.ServiceException;
import com.xiaochang.em.utils.CSVUtils;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;

@Service
public class CSVService {

    /**
     * 导入CSV文件数据
     * @param file      表文件
     * @param tableName 表名
     * @param tableType 表类型
     * @return 结果
     */
    @Transactional
    public List<Star> importCSVData(MultipartFile file, String tableName, Integer tableType) throws IOException {

        String charset = CSVUtils.getCsvCharset(file.getInputStream());
        List<Star> listOne = CSVUtils.read(file, Star.class, charset);
        if(listOne.isEmpty()){
            throw new ServiceException(Constants.NO_RESULT,"导入csv文件失败");
        }

        return listOne;

    }

}
